<!DOCTYPE html>
<html lang='en'>

<head>
    <meta charset='UTF-8'>
    <meta name='viewport' content='width=device-width, initial-scale=1.0'>
    <title>Document</title>
    <script src='./vue.js'></script>
</head>

<body>
    <div id='app'>
        <com count="100" :sex="true" name="名字" age="100" />
    </div>
</body>
<script>
    const com = {
        template: `<div>
                <h1>子组件 - {{count}} -- {{sex}} -- {{name}} -- {{age}}</h1>
            </div>`,
        // 也可以写为对象，可以进行属性的验证
        props: {
            // 验证类型要是一个字符串
            count: String,
            // 要验证 sex 的类型为 布尔值 或者 字符串(多类型)
            sex: [Boolean, String],
            name: {
                type: [String, Number],
                // 设置必填项
                required: true
            },
            age: {
                // 设置默认值，在没有传递该参数的时候会使用这里的默认值
                // 如果有传递，那么就用传递过来的值
                default: 18,
                type: [Number, String]
            },
            obj: Object,
            arr: Array,
            fn: Function
        }
    }
    const app = {
        data() {
            return {}
        },
        methods: {},
        components: {
            com
        }
    }
    const vm = Vue.createApp(app).mount('#app')
</script>

</html>